package net.csdn.business.notify.common.pipeline.param;

import com.alibaba.fastjson2.JSONObject;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Map;

/**
 * @ClassName SendNotifyParam
 * @Description TODO
 * @Author zhangyl
 * @Date 2023/11/29 14:13
 */
@Data
public class SendRemindParam extends MessageParam{

    public SendRemindParam() {
        super();
    }


    /** 发送者id，当为-1时，为系统发送 */
    @NotBlank(message = "sender不能为空")
    private String sender;
    /**
     * @Description: 消息内容中的可变部分(占位符替换)
     * 可选
     */
    @NotNull(message = "variables不能为空")
    private Map<String, String> variables;
    /**
     * 业务编码
     */
    @NotBlank(message = "busCode不能为空")
    private String busCode;



    /** 触发通知动作的主体的url*/
    //@NotBlank(message = "url不能为空")
    private String url;
    /** 被操作对象id，例如：项目、ISSUE、PullRequest的id */
    //@NotBlank(message = "targetId不能为空")
    private String targetId;
    /** 操作对像所属主体的命名空间信息：{id：命名空间id;type:类型（eg:project:项目；org:组织；user:个人);path：命名空间路径；name:名称路径} */
    //@NotNull(message = "nameSpace不能为空")
    private JSONObject nameSpace;

    private String targetType;
    private String act;
    private Integer notifyType;

    /** 业务id*/
    private String busId;


}
